Embodiments of the present invention relate generally to providing streaming media across networks and more particularly to switching a media streaming session between a plurality of networks.
Session Initiation Protocol (SIP) and other such signaling protocols are commonly used for establishing sessions over an Internet Protocol (IP) network. Generally speaking, SIP, or in general any session-based or message-based exchange, can be used by an initiating device to request a connection with a server and/or one or more other devices and to establish a streaming session with the other device(s). Such a session can be used for a variety of purposes such as Internet telephony, e.g., Voice over Internet Protocol (VoIP), audio and/or video conferencing, interactive gaming, etc.
Some of these signaling protocols, such as SIP, also allow for the parties to a session to negotiate new streaming or new media types from within a session. However, none of these protocols allow for the parties to easily or seamlessly switch between a plurality of available networks. That is, if a network supporting a session becomes unavailable to one or more of the parties to a session but another network is available, current signaling protocols do not provide a way to seamlessly, or near seamlessly, switch to the other available network. For example, if a user of a wireless device that is participating in a streaming session via a wireless network moves out of an area of coverage for that network or the network otherwise becomes unavailable to that user, there is no way for the user's device to automatically switch the session to another network, wireless, cellular, or other, that may be available. Rather, the user must end the session and establish a new session. In another example, rather than moving out of an area of coverage, the user may move into an area where a cheaper service is available, depending upon the type of service or traffic available to the user.
Hence, there is a need for methods and systems that allow for switching a media streaming session between a plurality of networks based on one or more of a variety of criteria.